/**
 * 全站路由配置
 *
 * 建议:
 * 1. 代码中路由统一使用name属性跳转(不使用path属性)
 */
import Vue from 'vue'
import Router from 'vue-router'
import utilApi from '../utils/utils'

Vue.use(Router)

// 开发环境不使用懒加载, 因为懒加载页面太多的话会造成webpack热更新太慢, 所以只有生产环境使用懒加载
const _import = require('./import-' + process.env.NODE_ENV)

// 全局路由(无需嵌套上左右整体布局)
const globalRoutes = [
  {path: '/404', component: _import('404'), name: '404', meta: {title: '404未找到'}},
  {path: '/login', component: _import('login'), name: 'login', meta: {title: '登录'}}
]

const router = new Router({
  mode: 'hash',
  scrollBehavior: () => ({y: 0}),
  isAddDynamicMenuRoutes: false, // 是否已经添加动态(菜单)路由
  routes: globalRoutes
})

router.beforeEach((to, from, next) => {
  // 添加动态(菜单)路由
  // 1. 已经添加 or 全局路由, 直接访问
  // 2. 获取菜单列表, 添加并保存本地存储
  let uid = utilApi.getCookie('uid')
  if (uid) {
    if (to.query && to.query.returnUrl) {
      window.location.href = Base64.decode(to.query.returnUrl)
    }
    // 跳转到首页
    window.location.href = 'http://www.zhou.com/'
  }

  if (to.name === 'login') {
    next()
  } else {
    router.push({name: 'login'})
  }
})

export default router
